home *** CD-ROM | disk | FTP | other *** search
/ IRIX Base Documentation 1998 November / IRIX 6.5.2 Base Documentation November 1998.img / usr / share / catman / p_man / cat3 / complib / zhptri.z / zhptri
Text File  |  1998-10-30  |  3KB  |  133 lines

  1.  
  2.  
  3.  
  4. ZZZZHHHHPPPPTTTTRRRRIIII((((3333FFFF))))                                                          ZZZZHHHHPPPPTTTTRRRRIIII((((3333FFFF))))
  5.  
  6.  
  7.  
  8. NNNNAAAAMMMMEEEE
  9.      ZHPTRI - compute the inverse of a complex Hermitian indefinite matrix A
  10.      in packed storage using the factorization A = U*D*U**H or A = L*D*L**H
  11.      computed by ZHPTRF
  12.  
  13. SSSSYYYYNNNNOOOOPPPPSSSSIIIISSSS
  14.      SUBROUTINE ZHPTRI( UPLO, N, AP, IPIV, WORK, INFO )
  15.  
  16.          CHARACTER      UPLO
  17.  
  18.          INTEGER        INFO, N
  19.  
  20.          INTEGER        IPIV( * )
  21.  
  22.          COMPLEX*16     AP( * ), WORK( * )
  23.  
  24. PPPPUUUURRRRPPPPOOOOSSSSEEEE
  25.      ZHPTRI computes the inverse of a complex Hermitian indefinite matrix A in
  26.      packed storage using the factorization A = U*D*U**H or A = L*D*L**H
  27.      computed by ZHPTRF.
  28.  
  29.  
  30. AAAARRRRGGGGUUUUMMMMEEEENNNNTTTTSSSS
  31.      UPLO    (input) CHARACTER*1
  32.              Specifies whether the details of the factorization are stored as
  33.              an upper or lower triangular matrix.  = 'U':  Upper triangular,
  34.              form is A = U*D*U**H;
  35.              = 'L':  Lower triangular, form is A = L*D*L**H.
  36.  
  37.      N       (input) INTEGER
  38.              The order of the matrix A.  N >= 0.
  39.  
  40.      AP      (input/output) COMPLEX*16 array, dimension (N*(N+1)/2)
  41.              On entry, the block diagonal matrix D and the multipliers used to
  42.              obtain the factor U or L as computed by ZHPTRF, stored as a
  43.              packed triangular matrix.
  44.  
  45.              On exit, if INFO = 0, the (Hermitian) inverse of the original
  46.              matrix, stored as a packed triangular matrix. The j-th column of
  47.              inv(A) is stored in the array AP as follows:  if UPLO = 'U', AP(i
  48.              + (j-1)*j/2) = inv(A)(i,j) for 1<=i<=j; if UPLO = 'L', AP(i +
  49.              (j-1)*(2n-j)/2) = inv(A)(i,j) for j<=i<=n.
  50.  
  51.      IPIV    (input) INTEGER array, dimension (N)
  52.              Details of the interchanges and the block structure of D as
  53.              determined by ZHPTRF.
  54.  
  55.      WORK    (workspace) COMPLEX*16 array, dimension (N)
  56.  
  57.      INFO    (output) INTEGER
  58.              = 0: successful exit
  59.              < 0: if INFO = -i, the i-th argument had an illegal value
  60.  
  61.  
  62.  
  63.                                                                         PPPPaaaaggggeeee 1111
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. ZZZZHHHHPPPPTTTTRRRRIIII((((3333FFFF))))                                                          ZZZZHHHHPPPPTTTTRRRRIIII((((3333FFFF))))
  71.  
  72.  
  73.  
  74.              > 0: if INFO = i, D(i,i) = 0; the matrix is singular and its
  75.              inverse could not be computed.
  76.  
  77.  
  78.  
  79.  
  80.  
  81.  
  82.  
  83.  
  84.  
  85.  
  86.  
  87.  
  88.  
  89.  
  90.  
  91.  
  92.  
  93.  
  94.  
  95.  
  96.  
  97.  
  98.  
  99.  
  100.  
  101.  
  102.  
  103.  
  104.  
  105.  
  106.  
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.                                                                         PPPPaaaaggggeeee 2222
  130.  
  131.  
  132.  
  133.